#include <iostream>
#include "lp_grammar_no_alloc_free.h"
#include <cstring>
int main()
{
    std::cout << "hello" << std::endl;
    if (!strncmp("aa", "aa", sizeof("aa")))
        std::cout << "cstr equal!" << std::endl;

    Stm* prog =
        new Stm(
            new Stm(
                u8"甲", 
                new Expr(new Expr(5), BinOp::Plus, new Expr(4))
            ),
            new Stm(
                new Stm(
                    u8"乙", 
                    new Expr(
                        new Stm(
                            new ExprList(
                                new Expr(u8"甲"), 
                                new ExprList(
                                    new Expr(new Expr(u8"甲"), BinOp::Minus, new Expr(1))
                                )
                            )
                        ),
                        new Expr(new Expr(10), BinOp::Times, new Expr(u8"甲"))
                    )
                ), 
                new Stm(new ExprList(new Expr(u8"乙")))
            )
        );

    std::cout << maxPrintKindArgs(prog) << std::endl;
    interpStm(prog, nullptr);
    return 0;
}